<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (2.4.5) on Mon Sep 12 08:35:25 CEST 2016 -->
    <title>SharedData (Groovy Documentation)</title>
    <meta name="date" content="2016-09-12">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="SharedData (Groovy Documentation)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../index.html?io/vertx/groovy/core/shareddata/SharedData" target="_top">Frames</a></li>
            <li><a href="SharedData.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>io.vertx.groovy.core.shareddata</strong></div>

    <h2 title="[Groovy] Class SharedData" class="title">[Groovy] Class SharedData</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li>io.vertx.groovy.core.shareddata.SharedData
</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">



    <p> Shared data allows you to share data safely between different parts of your application in a safe way.
 <p>
 Shared data provides:
 <ul>
   <li>Cluster wide maps which can be accessed from any node of the cluster</li>
   <li>Cluster wide locks which can be used to give exclusive access to resources across the cluster</li>
   <li>Cluster wide counters used to maintain counts consistently across the cluster</li>
   <li>Local maps for sharing data safely in the same Vert.x instance</li>
 </ul>
 <p>
 Please see the documentation for more information.
</p>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        
        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
        <ul class="blockList">
                <li class="blockList"><a name="constructor_summary"><!--   --></a>
                    <h3>Constructor Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Constructor and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst">
                                <code><a href="#SharedData(java.lang.Object)">SharedData</a></strong>
                                (java.lang.Object delegate)</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
        </ul>
        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getClusterWideMap(java.lang.String, Handler<AsyncResult<AsyncMap<K, V>>>)">getClusterWideMap</a></strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/AsyncMap.html' title='AsyncMap'>AsyncMap</a>&lt;K, V&gt;&gt;&gt; resultHandler)</code><br>Get the cluster wide map with the specified name. </td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getCounter(java.lang.String, Handler<AsyncResult<Counter>>)">getCounter</a></strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Counter.html' title='Counter'>Counter</a>&gt;&gt; resultHandler)</code><br>Get a cluster wide counter. </td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getDelegate()">getDelegate</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code><a href='../../../../../io/vertx/groovy/core/shareddata/LocalMap.html' title='LocalMap'>LocalMap</a>&lt;K, V&gt;</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getLocalMap(java.lang.String)">getLocalMap</a></strong>(java.lang.String name)</code><br>Return a <code>LocalMap</code> with the specific <code>name</code>.</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getLock(java.lang.String, Handler<AsyncResult<Lock>>)">getLock</a></strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Lock.html' title='Lock'>Lock</a>&gt;&gt; resultHandler)</code><br>Get a cluster wide lock with the specified name. </td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getLockWithTimeout(java.lang.String, long, Handler<AsyncResult<Lock>>)">getLockWithTimeout</a></strong>(java.lang.String name, long timeout, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Lock.html' title='Lock'>Lock</a>&gt;&gt; resultHandler)</code><br>Like <a href='../../../../../io/vertx/groovy/core/shareddata/SharedData.html#getLock' title='SharedData.getLock'>SharedData.getLock</a> but specifying a timeout. </td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Inherited Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Methods inherited from class</th>
                            <th class="colLast" scope="col">Name</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>class java.lang.Object</strong></code></td>
                            <td class="colLast"><code>java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()</code></td>
                        </tr>
                    </table>
                   </ul>
              </li>
                
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            

            

            

            
            <!-- =========== CONSTRUCTOR DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="constructor_detail">
                    <!--   -->
                </a>
                    <h3>Constructor Detail</h3>
                    
                        <a name="SharedData(java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><strong>SharedData</strong>(java.lang.Object delegate)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="getClusterWideMap(java.lang.String, Handler<AsyncResult<AsyncMap<K, V>>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>getClusterWideMap</strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/AsyncMap.html' title='AsyncMap'>AsyncMap</a>&lt;K, V&gt;&gt;&gt; resultHandler)</h4>
                                <p> Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data
 put into the map from any node is visible to to any other node.
   <DL><DT><B>Parameters:</B></DT><DD><code>name</code> -  the name of the map</DD><DD><code>resultHandler</code> -  the map will be returned asynchronously in this handler</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getCounter(java.lang.String, Handler<AsyncResult<Counter>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>getCounter</strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Counter.html' title='Counter'>Counter</a>&gt;&gt; resultHandler)</h4>
                                <p> Get a cluster wide counter. The counter will be passed to the handler.
   <DL><DT><B>Parameters:</B></DT><DD><code>name</code> -  the name of the counter.</DD><DD><code>resultHandler</code> -  the handler</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getDelegate()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>getDelegate</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getLocalMap(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><a href='../../../../../io/vertx/groovy/core/shareddata/LocalMap.html' title='LocalMap'>LocalMap</a>&lt;K, V&gt; <strong>getLocalMap</strong>(java.lang.String name)</h4>
                                <p> Return a <code>LocalMap</code> with the specific <code>name</code>.
   <DL><DT><B>Returns:</B></DT><DD>the msp</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>name</code> -  the name of the map</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getLock(java.lang.String, Handler<AsyncResult<Lock>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>getLock</strong>(java.lang.String name, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Lock.html' title='Lock'>Lock</a>&gt;&gt; resultHandler)</h4>
                                <p> Get a cluster wide lock with the specified name. The lock will be passed to the handler when it is available.
   <DL><DT><B>Parameters:</B></DT><DD><code>name</code> -  the name of the lock</DD><DD><code>resultHandler</code> -  the handler</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getLockWithTimeout(java.lang.String, long, Handler<AsyncResult<Lock>>)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>getLockWithTimeout</strong>(java.lang.String name, long timeout, io.vertx.core.Handler&lt;io.vertx.core.AsyncResult&lt;<a href='../../../../../io/vertx/groovy/core/shareddata/Lock.html' title='Lock'>Lock</a>&gt;&gt; resultHandler)</h4>
                                <p> Like <a href='../../../../../io/vertx/groovy/core/shareddata/SharedData.html#getLock' title='SharedData.getLock'>SharedData.getLock</a> but specifying a timeout. If the lock is not obtained within the timeout
 a failure will be sent to the handler
   <DL><DT><B>Parameters:</B></DT><DD><code>name</code> -  the name of the lock</DD><DD><code>timeout</code> -  the timeout in ms</DD><DD><code>resultHandler</code> -  the handler</DD></DL></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../index.html?io/vertx/groovy/core/shareddata/SharedData" target="_top">Frames</a></li>
            <li><a href="SharedData.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>